#pragma once

enum Gender { Gender_Male, Gender_Female, Gender_Unknown, Gender_NoFace };

class SVMPredictor;
class SVMScaler;

class FaceGenderPredictor
{
public: FaceGenderPredictor( const char* alphaMatFileName, const char* svmModelFileName, const char* rangeFileName, bool saveImage = false );
public: ~FaceGenderPredictor();

public: Gender Predict( const IplImage* img );

private:
	FAST::TMatrix<MappingFeatureType> * m_matAlpha;
	SVMPredictor* m_svmPredictor;
private:
	SVMScaler* m_scaler;
	int m_resultID;
	bool m_saveImage;
	char* m_resultDir;
	LGBPExtractor *m_extractor;
};